Warning
This game contains flickering sprites, so be careful if you are prone to epileptic seizures.
There is an option in the menu to toggle flickering on or off if you need to.
This game also features a scrolling background which may cause motion sickness in some individuals.
This can also be disabled in the menu.
A basic WIP shmup inspired by Danmaku.
Apologies for the messy code; I'm not super familiar with LUA or Pico-8 yet.
Comments and criticism are welcome!
Mechanics
Focus
This game features a fairly standard FOCUS MODE, as seen in many shmups.
Basically you press the button and you shift most of your ship's power into its weapons, allowing you to fire a focused, more powerful beam at the cost of movement speed. FOCUS MODE also makes your hitbox more visible.
Shields
You'll notice a blue glow around your ship; this is your shield.
When you get hit, your shield dissipates, and goes on cooldown for a while.
Taking a hit without your shield results in death, although you have a short period of invulnerability while you're flashing, because this is a videogame.
Bullets
Green bullets are yours and don't harm you, while pink ones are enemy fire and will hurt you.
I haven't finished implementing enemy attacks yet, but the game currently spawns a couple test bullets.
As of v0.14.0, getting hit with your shields up causes the shield to send out an electromagnetic pulse, wiping out enemy bullets. I'll probably tone this way down in the future, but the functionality is there.
Controls
⬆️⬇️⬅️➡️: Move
🅾️/Z: Shoot
❎/SHIFT/X: Shift into FOCUS MODE
Changelog
v0.14.1
- Changed the ALERT sound as it was a little too grating for my tastes
- Restored the test enemy waves back to what they used to be (three waves instead of one)
- Fixed a bug where the ALERT animation would play on every wave
- Added the ability to specify ALERT animations within the level data
v0.14.0
- Added an ALERT animation for bosses
- Added a (currently non-functional) health bar display for bosses
- Tweaked the gauge design
- Added a new shield mechanic. See mechanics section above for details
- Moved debug options into the menu
v0.13.2
- Slowed shot speed down (Thanks Shawn!)
- Increased default shot spread
- Tweaked focus beam spawn position
- Decreased HP of enemy on wave 3
v0.13.1
- Added a shield gauge
- Added a sound effect for when the player's shield reactivates
- Disabled debug stuff
v0.13.0
- Added a shield system
- Added a death state
v0.12.1
- Added an option to disable the star field background for people who get motion sickness
- Fixed a bug where the song indicator was missing its music note icon
v0.12.0
- Added a star field background
v0.11.2
- Added a WIP sprite for enemy type 1
- Added flickering indicators to enemies for where bullets are going to fire from
- Added an option to disable flickering
v0.11.1
- Swapped the controls around and added shift as an option for FOCUS MODE (Thanks for the feedback, Beekeepe!)
v0.11.0
- Added wave-based enemy spawning. I'm not sure if this is the right way to do things, but it'll do for now.
v0.10.0
- Took freds72's advice and replaced calls to all() with calls to pairs() (thanks for the tip!)
- Tweaked the player ship's fire sprite
- Added an option to the menu to debug the song display (every shmup is required to have a song display)
Pre-v0.10.0
Sorry! I was lazy and wasn't keeping a changelog at this point!
Basically I added movement, focus mode, shooting, and some basic enemies.
Just studing some plataform mechanics
So this is my very first cartridge. It is metaballs, slow, but you can change the color with the direction buttons. I worked from 10 pm to midnight
Jonathan Harrow finds himself caught in a radioactive nightmare, help him get out before it's too late. Press Z to start, Z to jump and arrow keys to move, X to fire your blaster. Made for itch.io weekly game jam 90
I just entered the basic uppercase Apple ][+ font in sprites and added a SFX that is the tone of the boot beep of the Apple ][. If this is exciting to you, use it in whatever project you want with a lil' credit in the comments.
I also added a few character I wish I'd had back then in spritesheet 1.
Initial running of the cart cuts off the beep. Reset the cart to hear it properly (hit Return and choose).
Enjoy!
Another Tetris clone, I know :P
I managed to squeeze in an extra mode, take a look if you want!
Why are you reading this, it's Tetris, you probably already know how it works
Anyways, this clone is guideline-compliant in large parts (except where the guideline is boring or confusing to me), including Standard Rotation System and kicks. It has a steep difficulty curve, and a lot of options to adjust gameplay, animations, or Tetromino sprites (I have 16 now!).
I implemented 9 different modes, and up to 3 highscores are automatically saved per mode (options are also automatically saved btw)
If that description was too dry and boring (writing it wasn't much fun either, so I understand you), it also has lasers and poorly drawn donuts, what more could you want from a game?
Thanks to @Actually_Ed and @DavidMazarro for some great ideas!
Controls:
Modes:
Screenshots:
Changelog
Old versions
Any feedback and recommendations welcome! <3
Here I go again with this kinda classic 80's arcade Donkey Kong's style twist.
you play Denis,
you can't jump,
but you can throw hammers to kill shop guys enemys
you get bonus +50 pts when you collect minimum of 4 table legs, 4 screws and 1 table top.
Enjoy! :-)
A cute mini-feature with my own music, art, plot, etc.
Always in favour of naive, amateur art and programming; click play if you agree, it's all automatic.
Thanks for looking!
Made for CCAW jam. (https://itch.io/jam/ccaw-jam)
Get dog into the doghouse by moving planets and blasting jetpacks.
Definitely my biggest pico-8 game yet. Time to learn how to use metatables...
Controls
Menu: Z to start game.
Game: UP/DOWN to adjust nectar quota (how much nectar a bee will collect before returning to the hive)
Z (when the 'add bee' icon is visible) to add a bee at a cost of 10 nectar
Game over: Z to restart.
Mechanics
Bees visit flowers for nectar (but they can only find flowers within a certain radius, so they explore if they don't find one right away). Bees collect nectar until they have enough for the quota, then they bring it back to the hive. As the hive accumulates nectar it can produce more bees. Bees have limited lives, but every time a bee dies, a new flower is born somewhere in the garden. Every visit of a bee to a flower adds pollen to the flower, which helps the flower produce more nectar. You can adjust how much the nectar quota is, balancing between bees being away longer (more likely to die without returning their nectar) and bees spending too much time on journeys to the hive (not using time efficiently). You can also add new bees once there is ten or more nectar in the hive.
The game is over when the last bee has died and there is not enough nectar left to add a new one.
(I am not trying for realism in any way with this game!!!)
Commentary
I started with just bees, and they would look around for flowers. Writing rules for entities and seeing how they work is great fun. This game was a slow burn but a great experience. I was flexing my systems design brain gently throughout the month, trying to ride the line between 'there's nothing to do here' and 'this game is asking too much of me'. I think it came out pretty well in that sense. The only interaction from the player (if they even want to interact) is to adjust the nectar quota and get the bees coming back more/less often, or add new bees.
itch.io page: here.
#onegameamonth March 2019
Made this little flag animation for trans day of visibility, and I quite like it :)
Also here's a reminder to everyone trans:
You are wonderful and amazing and I hope you have an excellent day!
For my game, Witch n Wiz (https://www.lexaloffle.com/bbs/?pid=38117#p), I implemented as simple technique for loading a secondary spritesheet at runtime. This allowed me to have a fullscreen title graphic, but not use up any of the sprite sheet memory (needed for game sprites and map data).
The cart at the top of this post is an ultra simple example of it in use. As you can see, you are able to switch between 2 sprite sheets that would each normally take up the entire sprite memory.
Credit for the num2hex function goes to felice (https://www.lexaloffle.com/bbs/?tid=30910)
Limitations:
You can still only have 128x128 worth of sprites in memory at a time. So this is really best for things like the title screen, or major switches in gameplay (say switching worlds where you don't need any of the original sprites anymore).
The runtime code for this is very light in tokens (~100) but the additional sprite sheet is stored as a large (although compressed) string, so that is going to each into your character count and compressed size (around 8000 chars in a typical case, and 25% of the compressed cart limit).
Tutorial:
1) Export
The first thing you need to do, is export your second sprite sheet into a compressed string format the runtime code expects. To do this, you simply load up this cart in Pico-8:
Fill the sprite sheet with the content you want to dynamically load at run-time, and hit "run".
This will copy the compressed data to your computers clipboard as a string. Paste that somewhere, like notepad.
2) Copy Runtime Code
Next, open up the import example (or view the code here in the broswer):
There is a small section of code you will need to add to your cart. Everything between "gfx import runtime begin" and "gfx import runtime end".
This is the code here for reference, if you don't want to load up the cart:
-- --gfx import runtime begin. -- --copy and paste this into your --game cart. --example usage after "end". -- -- converts hex string -- to actual number function hex2num(str) return ("0x"..str)+0 end --call this when you want to --load your fullscreen --graphics. --this assumes a compressed --format of <count>..<color>.. function load_stored_gfx(gfx) index=0 for i=1,#gfx,2 do count=hex2num(sub(gfx,i,i)) col=hex2num(sub(gfx,i+1,i+1)) for j=1,count do sset((index)%128,flr((index)/128),col) index+=1 end end end --call this to go back to --the original graphics stored --on the cart. --eg.after displaying title --screen. function restore_gfx() reload(0x0,0x0,0x2000) end -- --gfx import runtime end. -- |
3) Paste Export Data
Go an get that string that got exported in step 1, and paste it into your game cart as a variable somewhere.
--something like this. --it will be very large, so I just truncated the string in my example here. local my_gfx="f51d151d151d151d151" |
4) Load/Unload As Needed
There are only 2 functions you need to call for the entire library.
First, when you want to use the stored graphics, call load_stored_gfx() and pass it your compressed graphics string (eg. my_gfx) in this example.
When you are done with it, simply call restore_gfx() to return the sprite sheet to its original form.
BUG COLLECT
Move around to collect bug specimens that add up to the correct number in the upper right corner of the screen.
How many collections can you make in 1 minute?
Arrow keys - move
X - reset bugs
Z - start the game
Oh, and don't step on the eggs!
My entry to the 17-in-1 jam.
Follow me on twitter @brintown
Simple side-scrolling shooter with three waves of enemies.
Try to best your high-score.
Sine balls must be destroyed at top or bottom of arc.
Big_B_Radical
z - generate new frames
x - start/stop animation
left/right - change between different lsystems
up/down - regenerate all frames/ regenerate system (for stochastic systems)
System handles a variety of lsystems and also generates new frames to interpolate between on
the fly using coroutines.
Big_B_Radical
This is my first pico cart. I hope you like it. It only has a few levels, and the collision mechanics might be a bit wonky at times.
PicoPort is a Portal demake. Where you solve platforming puzzles by using portals, which teleport you from one point to another.
I might add more levels and more gameplay elements to the game.
Controls:
-Arrows to move around
-Hold x or z to start aiming
-Arrows to aim
-Release x or z to shoot
-X for the pink portal
-Z for the blue portal